package com.hsp.Demo_12_enum;

public class Demo_02 {
    public static void main(String[] args) {
        System.out.println(Season02.SPRING);
    }
}

/*
    2、使用枚举的方式，创建四季
    1、私有化构造器
    2、提供get方法，不提供set方法，即只读
    3、向外暴露公共的返回对象的参数,必须是：公共的，静态的，最好是final修饰的，这样访问的时候，就
    不必加载。因为访问 final + static 的参数时，不会加载类信息。
    4、后续需要访问季节，就只能得到这四个季节，没有办法新增、删除、修改。完全满足四季的要求。
 */
class Season02{
    private String name;
    private String desc;

    public final static Season SPRING = new Season("春天", "万物复苏");
    public final static Season SUMMER = new Season("夏天", "比较凉快");
    public final static Season AUTUMN = new Season("秋天", "秋高气爽");
    public final static Season WINTER = new Season("冬天", "真冷");

    private Season02(String name, String desc) {
        this.name = name;
        this.desc = desc;
    }

    public String getName() {
        return name;
    }

    public String getDesc() {
        return desc;
    }

    @Override
    public String toString() {
        return "Season02{" +
                "name='" + name + '\'' +
                ", desc='" + desc + '\'' +
                '}';
    }
}
